package com.ruoyi.user.service.thirdpay;

import com.ruoyi.user.domain.UserOrder;
import com.ruoyi.user.service.IUserOrderService;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * 抽象支付服务类，为各种支付渠道提供通用功能
 */
public abstract class AbstractPayService {

    @Autowired
    protected IUserOrderService userOrderService;

    /**
     * 验证订单是否可以支付
     *
     * @param order 订单信息
     * @return 是否可以支付
     */
    protected boolean validateOrderForPayment(UserOrder order) {
        // 检查订单是否存在
        if (order == null) {
            return false;
        }
        // 检查订单是否已支付
        return order.getPayTime() == null;
    }

    /**
     * 验证订单是否可以退款
     *
     * @param order 订单信息
     * @return 是否可以退款
     */
    protected boolean validateOrderForRefund(UserOrder order) {
        // 检查订单状态是否允许退款
        // 这里可以添加具体的业务逻辑
        return order != null;
    }
}